package com.ucar.train.service;

import com.ucar.train.dto.OrderDTO;
import com.ucar.train.dto.OrderDetailDTO;


import java.math.BigDecimal;
import java.util.List;

/**
* @Description
* @author Helingang
* @param
* @createDate 2019/8/13
**/
public interface OrderService {
     /**
      * 功能描述: <br>
      * 〈根据客户ID查询他的订单的基本信息〉
      * @Param: [customerId]
      * @Return: java.util.List<com.ucar.train.dto.OrderDTO>
      * @Author: XuMingZhi
      * @Date: 2019/8/14 8:42
      */
     List<OrderDTO> SelectOrdersByCustomerId(Long customerId);
     /**
      * 功能描述: <br>
      * 〈根据客户ID查询订单详情〉
      * @Param: [customerId]
      * @Return: java.util.List<com.ucar.train.dto.OrderDTO>
      * @Author: XuMingZhi
      * @Date: 2019/8/14 8:46
      */
     List<OrderDetailDTO> SelectOrdersDetailByCustomerId(Long customerId);

     /**
      * 功能描述: <br>
      * 〈用于更新用户对车和对门店的评论〉
      * @Param: [orderDTO]
      * @Return: int
      * @Author: XuMingZhi
      * @Date: 2019/8/14 8:43
      */
     int updateOrderDetailByOrderSelective(OrderDTO orderDTO);
     /**
      * 功能描述: <br>
      * 〈查看所有订单（仅管理员可见）〉
      * @Param: []
      * @Return: void
      * @Author: LiuHao
      * @Date: 2019/8/14 12:30
      */
     List<OrderDTO> selectAll();

     /**
      * 功能描述: <br>
      * 〈根据订单ID查询订单〉
      * @Param: [id]
      * @Return: com.ucar.train.dto.OrderDTO
      * @Author: XuMingZhi
      * @Date: 2019/8/14 14:51
      */
     OrderDTO selectByOrderNo(String orderNo);

     /**
      * @Author zhoujinmu
      * @Description 增加订单主表
      * @Date 2019/8/15 8:17
      */
     Boolean addOrder(OrderDTO orderDTO, Integer orderNum, String carType, BigDecimal cost);

     /**
      * @Author zhoujinmu
      * @Description 通过订单主表，增加订单明细表
      * @Date 2019/8/15 8:19
      */
     Boolean addOrderDetail(String orderNo, Integer orderNum,String carType,String OrderNo,String storeCode);
}
